package com.zb.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zb.entity.ZjStoreOutboundMaterialCode;

import java.util.List;

/**
 * <p>
 * 出库物料一物一码表 服务类
 * </p>
 *
 * @author WEN
 * @since 2024-01-12
 */
public interface ZjStoreOutboundMaterialCodeService extends IService<ZjStoreOutboundMaterialCode> {

    /**
     * 保存出库物料一物一码
     * @param outboundId 出库单ID
     * @param addOutboundMaterialCodes
     */
    void save(Long outboundId, List<ZjStoreOutboundMaterialCode> addOutboundMaterialCodes);

    /**
     * 根据出库单ID获取出库物料一物一码
     * @param storeOutboundId 出库单ID
     * @return
     */
    List<ZjStoreOutboundMaterialCode> getbyStoreOutboundId(Long storeOutboundId);


    /**
     * 根据出库单ID删除
     * @param storeOutboundId 出库单ID
     */
    void deleteByStoreOutboundId(Long storeOutboundId);

    /**
     * 根据一物一码删除
     * @param codeIds
     */
    void deletebyCodeIds(List<Long> codeIds);

    /**
     * 根据删除的一物一码ID获取关联出库商品的一物一码
     * @param codeIds 删除的一物一码ID
     * @return
     */
    List<String> getCodeByDelCodeIds(List<Long> codeIds);
}
